/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Dao;

import static DataBase.DataBase.*;
import DataBase.Resultado;

import Model.Agendamento;
import static DataBase.DataBase.*;

/**
 *
 * @author Cleiviane
 */
public class AgendamentoDao {

    public static boolean inserirAgendamento(Agendamento agendamento){
        try {
            Object[] valores = new Object[7];
            valores[0] = agendamento.getCodigo();
            valores[1] = agendamento.getPaciente();
            valores[2] = agendamento.getProntuario();
            valores[3] = agendamento.getMedico();
            valores[4] = agendamento.getData();
            valores[5] = agendamento.getHora();
            valores[6] = agendamento.getStatus();
            executaOperacao("insert into agendamentos values(?,?,?,?,?,?,?)", valores);
            return true;

        } catch (Exception e) {
            return false;
        }

    }

    public static boolean alterarAgendamento(Agendamento agendamento){
        try {
            Object[] valores = new Object[7];

            valores[0] = agendamento.getCodigo();
            valores[1] = agendamento.getPaciente();
            valores[2] = agendamento.getProntuario();
            valores[3] = agendamento.getMedico();
            valores[4] = agendamento.getData();
            valores[5] = agendamento.getHora();
            valores[6] = agendamento.getStatus();
            executaOperacao("update agendamentos set codigo = ?, nome_paciente = ?, prontuario = ?, medico = ?, data = ?, hora = ?, status = ?", valores);
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    public static Agendamento localizarAgendamentoPorCodigo(Integer codigo){
        Object[] valores = new Object[1];
        valores[0] = codigo;

        Resultado result = executaConsulta("select * from agendamentos where codigo = ?", valores);

        if(result.qtdRegistros() != 0){
            Agendamento agendamento = new Agendamento();
            agendamento.setCodigo((Integer)result.valorCampo(0, "codigo"));
            agendamento.setData((String)result.valorCampo(0, "data"));
            agendamento.setHora((String)result.valorCampo(0, "hora"));
            agendamento.setPaciente((String)result.valorCampo(0, "nome_paciente"));
            agendamento.setMedico((Integer)result.valorCampo(0, "medico"));
            agendamento.setProntuario((Integer)result.valorCampo(0, "prontuario"));
            return agendamento;
        }else
            return null;
    }

    public static Agendamento localizarAgendamentoPorNome(String nomePaciente){
        Agendamento agendamento = new Agendamento();
        return agendamento;

    }

    public static void excluirAgendamento( Integer codigo){
         Object[] valores = new Object[1];
         valores[0] = codigo;
         executaOperacao("delete from agendamentos where codigo = ?", valores);

    }

}
